Passive Patron Identification Systems And Methods

ABSTRACT

A method includes: receiving N sets of identification data for the patron captured by N passive data capture devices, respectively; and for each unique patron identifier: calculating N partial confidence values for that unique patron identifier based on N comparisons of the N sets of identification data with N sets of stored identification data, respectively, associated with that unique patron identifier; and based on the N partial confidence values of that unique patron identifier and N weighting values, respectively, calculating an overall confidence value for that unique patron identifier. One unique patron identifier having a highest overall confidence value is selected. When the selected overall confidence value is less than a predetermined value: a new unique patron identifier is created in a database; and the N sets of identification data captured using the N passive data capture devices, respectively, is stored in association with the new unique patron identifier.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. application Ser. No.14/580,927, filed on Dec. 23, 2014, which claims the benefit of U.S.Provisional Application No. 61/938,914, filed on Feb. 12, 2014. Thisapplication is related to U.S. patent application Ser. No. 14/581,042(now U.S. Pat. No. 9,773,258), titled Subliminal Upsell Systems andMethods, filed on the Dec. 23, 2014. The entire disclosures of theapplications referenced above are incorporated herein by reference.

FIELD

The present disclosure relates to digital ordering devices and moreparticularly to systems and methods of passively identifying patrons toenhance the ordering experience.

BACKGROUND

The background description provided here is for the purpose of generallypresenting the context of the disclosure. Work of the presently namedinventors, to the extent it is described in this background section, aswell as aspects of the description that may not otherwise qualify asprior art at the time of filing, are neither expressly nor impliedlyadmitted as prior art against the present disclosure.

Point of sale (POS) terminals are used at various establishments tofacilitate the purchase of various goods and services. For example, aPOS terminal may be used at a restaurant to order and/or purchase food,beverage, and other offerings of the restaurant. POS terminals may beemployee operated.

Some restaurants include self-service kiosks where the patrons interfacea kiosk to place orders, such as using a touch screen display. A patronplacing an order via a self-service kiosk may also be able to pay fortheir order at the self-service kiosk, such as by using a credit card oranother suitable form of payment.

SUMMARY

In a feature, a method of enhancing an ordering experience is disclosed.The method includes: in response to detection of a patron, capturing Nsets of identification data for the patron using N passive patronidentification systems, respectively, wherein N is an integer greaterthan one; calculating N partial confidence values based on N comparisonsof the N sets of identification data with N sets of storedidentification data, respectively, associated with a unique patronidentifier; and, based on the N partial confidence values, calculatingan overall confidence value indicating a level of confidence that thepatron is associated with the unique patron identifier. The methodfurther includes: based on the unique patron identifier, retrievingstored ordering data that is associated with the unique patronidentifier; setting ordering information to be output to the patronbased on the overall confidence value and the stored ordering data; andoutputting the ordering information to the patron using an orderingterminal.

In further features, the N sets of identification data include at leasttwo of: data indicative of an image of a face of the patron; dataindicative of an image of at least a portion of the patron's vehicle;data indicative of a voice of the patron; and data indicative of aunique identifier of an electronic device that communicates wirelessly.

In further features, the N sets of identification data include dataindicative of an image of a wheel of a portion of the patron's vehicle.

In further features, the N sets of identification data include dataindicative of a side portion of the patron's vehicle.

In further features, the N sets of identification data include dataindicative of a front portion of the patron's vehicle.

In further features, the N sets of identification data include dataindicative of a rear portion of the patron's vehicle.

In further features, the stored ordering data includes data indicativeof at least one previously ordered menu item associated with the uniquepatron identifier.

In further features, the method further includes: receiving dataindicative of an order placed by the patron; and storing the dataindicative of the order placed by the patron in association with theunique patron identifier.

In further features, the method further includes: determining a foodpreference of the patron based on the order placed by the patron; andstoring data indicative of the food preference of the patron inassociation with the unique patron identifier.

In further features, setting the ordering information to be output tothe patron includes setting an ordering menu to be displayed to thepatron on a display of the ordering terminal to a predetermined orderingmenu when the overall confidence value is less than a predeterminedvalue.

In further features, setting the ordering information to be output tothe patron includes setting the ordering menu to be displayed to thepatron to an adjusted ordering menu that is different than thepredetermined ordering menu when the overall confidence value is greaterthan the predetermined value.

In further features, the method further includes determining locationsfor menu items on the adjusted ordering menu based on the storedordering data.

In further features, the method further includes changing a visualattribute of at least one menu item on the adjusted ordering menu,relative to the predetermined ordering menu, based on the storedordering data.

In further features, setting the ordering information to be output tothe patron includes removing at least one menu item from thepredetermined ordering menu when the overall confidence value is greaterthan the predetermined value.

In further features, the method further includes determining the atleast one menu item for removal from the predetermined ordering menubased on the stored ordering data.

In further features, setting the ordering information to be output tothe patron includes setting a language for outputting the orderinginformation to the patron when the overall confidence value is greaterthan a predetermined value.

In further features, setting the ordering information to be output tothe patron includes setting the ordering information to include at leastone previously ordered menu item associated with the unique patronidentifier when the overall confidence value is greater than apredetermined value.

In further features, outputting the ordering information to the patronusing the ordering terminal includes outputting the ordering informationusing at least one of a display and a speaker of the ordering terminal.

In further features, the method further includes, when the overallconfidence value is less than a predetermined value: creating a secondunique patron identifier in a database; and storing the N sets ofidentification data captured in association with the second uniquepatron identifier.

In further features, the method further includes, when the overallconfidence value is greater than the predetermined value, selectivelyupdating at least one of the N sets of stored identification dataassociated with the unique patron identifier based on at least one ofthe N sets of identification data captured for the patron, respectively.

In further features, the method further includes, when the overallconfidence value is greater than the predetermined value, selectivelyupdating the stored ordering data based on data indicative of an orderplaced by the patron.

In further features, the method further includes calculating the overallconfidence value based on the N partial confidence values and Npredetermined weighting values, respectively.

In further features, the method further includes calculating the overallconfidence value based on the equation:

C=1−Π_(m=1) ^(N)(1−Wm*Cm),

where C is the overall confidence value for the unique patronidentifier, Π denotes use of the product function, m is an integer lessthan or equal to N, Cm is an m-th one of the partial confidence valuescalculated based on an m-th comparison of an m-th one of the N sets ofidentification data and an m-th one of the N sets of storedidentification data, Cm is a value between 0 and 1, and Wm is an m-thpredetermined weighting value between 0 and 1.

In further features, the method further includes: calculating at leastone additional partial confidence value based on at least one comparisonof at least one of the N sets of identification data with additionalsets of stored identification data, respectively, associated with ageneral characteristic; based on the at least one additional partialconfidence value, calculating a second overall confidence valueindicating a second level of confidence that the patron has the generalcharacteristic; and, based on the second overall confidence value,selectively setting the ordering information to be output to the patronfurther based on the general characteristic.

In a feature, a method of enhancing an ordering experience is disclosed.The method includes: in response to detection of a patron, capturing Nsets of identification data for the patron using N passive patronidentification systems, respectively, wherein N is an integer greaterthan one; calculating M sets of N partial confidence values based oncomparisons of the N sets of identification data with N sets of storedidentification data associated with M different unique patronidentifiers, respectively, wherein M is an integer greater than one; andcalculating M overall confidence values based on the M sets of N partialconfidence values, respectively, each of the M overall confidence valuesindicating a level of confidence that the patron is associated with acorresponding one of the M unique patron identifiers. The method furtherincludes: selecting one of the M unique patron identifiers based on theM overall confidence values; based on the selected one of the M uniquepatron identifiers, retrieving stored ordering data that is associatedwith the selected one of the M unique patron identifiers; and setting anordering menu displayed to the patron based on at least one of theoverall confidence value and the stored ordering data.

In further features, the method further includes selecting one of the Munique patron identifiers based on the M overall confidence valuesincludes selecting the one of the M unique patron identifierscorresponding to a largest one of the M overall confidence values.

In a feature, a method of controlling a patron profile database isdisclosed. The method includes: in response to detection of a patron,capturing N sets of identification data for the patron using N passivepatron identification systems, respectively, wherein N is an integergreater than one; calculating N partial confidence values based on Ncomparisons of the N sets of identification data with N sets of storedidentification data, respectively, associated with a unique patronidentifier; and based on the N partial confidence values, calculating anoverall confidence value indicating a level of confidence that thepatron is associated with the unique patron identifier. The methodfurther includes, when the overall confidence value is less than apredetermined value: creating a second unique patron identifier in adatabase; and storing the N sets of identification data captured inassociation with the second unique patron identifier. The method furtherincludes, when the overall confidence value is greater than thepredetermined value, selectively updating at least one of the N sets ofstored identification data associated with the unique patron identifierbased on at least one of the N sets of identification data captured forthe patron, respectively.

In further features, the method further includes, when the overallconfidence value is greater than the predetermined value, selectivelyupdating stored ordering data based on data indicative of an orderplaced by the patron.

In further features, the method further includes: based on the uniquepatron identifier, retrieving stored ordering data that is associatedwith the unique patron identifier; setting ordering information to beoutput to the patron based on the overall confidence value and thestored ordering data; and outputting the ordering information to thepatron using an ordering terminal.

In further features, the N sets of identification data include at leasttwo of: data indicative of an image of a face of the patron; dataindicative of an image of at least a portion of the patron's vehicle;data indicative of a voice of the patron; and data indicative of aunique identifier of an electronic device that communicates wirelessly.

In further features, the N sets of identification data include dataindicative of an image of a wheel of a portion of the patron's vehicle.

In further features, the N sets of identification data include dataindicative of a side portion of the patron's vehicle.

In further features, the N sets of identification data include dataindicative of a front portion of the patron's vehicle.

In further features, the N sets of identification data include dataindicative of a rear portion of the patron's vehicle.

In further features, the stored ordering data includes data indicativeof at least one previously ordered menu item associated with the uniquepatron identifier.

In further features, the method further includes: receiving dataindicative of an order placed by the patron; and storing the dataindicative of the order placed by the patron in association with theunique patron identifier.

In further features, the method further includes determining a foodpreference of the patron based on the order placed by the patron; andstoring data indicative of the food preference of the patron inassociation with the unique patron identifier.

In further features, setting the ordering information to be output tothe patron includes setting an ordering menu to be displayed to thepatron on a display of the ordering terminal to a predetermined orderingmenu when the overall confidence value is less than a predeterminedvalue.

In further features, setting the ordering information to be output tothe patron includes setting the ordering menu to be displayed to thepatron to an adjusted ordering menu that is different than thepredetermined ordering menu when the overall confidence value is greaterthan the predetermined value.

In further features, the method further includes determining locationsfor menu items on the adjusted ordering menu based on the storedordering data.

In further features, the method further includes changing a visualattribute of at least one menu item on the adjusted ordering menu,relative to the predetermined ordering menu, based on the storedordering data.

In further features, setting the ordering information to be output tothe patron includes removing at least one menu item from thepredetermined ordering menu when the overall confidence value is greaterthan the predetermined value.

In further features, the method further includes determining the atleast one menu item for removal from the predetermined ordering menubased on the stored ordering data.

In further features, setting the ordering information to be output tothe patron includes setting a language for outputting the orderinginformation to the patron when the overall confidence value is greaterthan a predetermined value.

In further features, setting the ordering information to be output tothe patron includes setting the ordering information to include at leastone previously ordered menu item associated with the unique patronidentifier when the overall confidence value is greater than apredetermined value.

In further features, outputting the ordering information to the patronusing the ordering terminal includes outputting the ordering informationusing at least one of a display and a speaker of the ordering terminal.

In further features, the method further includes calculating the overallconfidence value based on the N partial confidence values and Npredetermined weighting values, respectively.

In further features, the method further includes calculating the overallconfidence value based on the equation:

C=1−Π_(m=1) ^(N)(1−Wm*Cm),

where C is the overall confidence value for the unique patronidentifier, Π denotes use of the product function, m is an integer lessthan or equal to N, Cm is an m-th one of the partial confidence valuescalculated based on an m-th comparison of an m-th one of the N sets ofidentification data and an m-th one of the N sets of storedidentification data, Cm is a value between 0 and 1, and Wm is an m-thpredetermined weighting value between 0 and 1.

In further features, the method further includes: calculating at leastone additional partial confidence value based on at least one comparisonof at least one of the N sets of identification data with additionalsets of stored identification data, respectively, associated with ageneral characteristic; based on the at least one additional partialconfidence value, calculating a second overall confidence valueindicating a second level of confidence that the patron has the generalcharacteristic; and, based on the second overall confidence value,selectively setting the ordering information to be output to the patronfurther based on the general characteristic.

In a feature, an ordering system is disclosed. N passive patronidentification systems, in response to detection of a patron, capture Nsets of identification data for the patron, respectively, wherein N isan integer greater than one. A confidence calculation module: calculatesN partial confidence values based on N comparisons of the N sets ofidentification data with N sets of stored identification data,respectively, associated with a unique patron identifier; and based onthe N partial confidence values, calculates an overall confidence valueindicating a level of confidence that the patron is associated with theunique patron identifier. A profile retrieving module, based on theunique patron identifier, retrieves stored ordering data that isassociated with the unique patron identifier. A control module setsordering information to be output to the patron based on the overallconfidence value and the stored ordering data and that outputs theordering information to the patron.

In further features, the N sets of identification data include at leasttwo of: data indicative of an image of a face of the patron; dataindicative of an image of at least a portion of the patron's vehicle;data indicative of a voice of the patron; and data indicative of aunique identifier of an electronic device that communicates wirelessly.

In further features, the N sets of identification data include dataindicative of an image of a wheel of a portion of the patron's vehicle.

In further features, the N sets of identification data include dataindicative of a side portion of the patron's vehicle.

In further features, the N sets of identification data include dataindicative of a front portion of the patron's vehicle.

In further features, the N sets of identification data include dataindicative of a rear portion of the patron's vehicle.

In further features, the stored ordering data includes data indicativeof at least one previously ordered menu item associated with the uniquepatron identifier.

In further features the ordering system further includes an updatingmodule that receives data indicative of an order placed by the patronand that stores the data indicative of the order placed by the patron inassociation with the unique patron identifier.

In further features, the updating module further: determines a foodpreference of the patron based on the order placed by the patron; andstores data indicative of the food preference of the patron inassociation with the unique patron identifier.

In further features, the control module sets an ordering menu to bedisplayed to the patron on a display of the ordering terminal to apredetermined ordering menu when the overall confidence value is lessthan a predetermined value.

In further features, the control module sets the ordering menu to bedisplayed to the patron to an adjusted ordering menu that is differentthan the predetermined ordering menu when the overall confidence valueis greater than the predetermined value.

In further features, the control module determines locations for menuitems on the adjusted ordering menu based on the stored ordering data.

In further features, the control module changes a visual attribute of atleast one menu item on the adjusted ordering menu, relative to thepredetermined ordering menu, based on the stored ordering data.

In further features, the control module removes at least one menu itemfrom the predetermined ordering menu when the overall confidence valueis greater than the predetermined value.

In further features, the control module determines the at least one menuitem for removal from the predetermined ordering menu based on thestored ordering data.

In further features, the control module sets a language for outputtingthe ordering information to the patron when the overall confidence valueis greater than a predetermined value.

In further features, the control module sets the ordering information toinclude at least one previously ordered menu item associated with theunique patron identifier when the overall confidence value is greaterthan a predetermined value.

In further features, the control module outputs the ordering informationusing at least one of a display and a speaker of the ordering terminal.

In further features, the ordering system further includes an updatingmodule that, when the overall confidence value is less than apredetermined value: creates a second unique patron identifier in adatabase; and stores the N sets of identification data captured inassociation with the second unique patron identifier.

In further features, the ordering system further includes an updatingmodule that, when the overall confidence value is greater than thepredetermined value, selectively updates at least one of the N sets ofstored identification data associated with the unique patron identifierbased on at least one of the N sets of identification data captured forthe patron, respectively.

In further features, the ordering system further includes an updatingmodule that, when the overall confidence value is greater than thepredetermined value, selectively updates the stored ordering data basedon data indicative of an order placed by the patron.

In further features, the confidence calculation module calculates theoverall confidence value based on the N partial confidence values and Npredetermined weighting values, respectively.

In further features, the confidence calculation module calculates theoverall confidence value based on the equation:

C=1−Π_(m=1) ^(N)(1−Wm*Cm),

where C is the overall confidence value for the unique patronidentifier, Π denotes use of the product function, m is an integer lessthan or equal to N, Cm is an m-th one of the partial confidence valuescalculated based on an m-th comparison of an m-th one of the N sets ofidentification data and an m-th one of the N sets of storedidentification data, Cm is a value between 0 and 1, and Wm is an m-thpredetermined weighting value between 0 and 1.

In further features, the confidence calculation module further:calculates at least one additional partial confidence value based on atleast one comparison of at least one of the N sets of identificationdata with additional sets of stored identification data, respectively,associated with a general characteristic; based on the at least oneadditional partial confidence value, calculates a second overallconfidence value indicating a second level of confidence that the patronhas the general characteristic; and, based on the second overallconfidence value, selectively sets the ordering information to be outputto the patron further based on the general characteristic.

In a feature, an ordering system is disclosed. N passive patronidentification systems that, in response to detection of a patron,capture N sets of identification data for the patron, respectively,wherein N is an integer greater than one. A confidence calculationmodule: calculates M sets of N partial confidence values based oncomparisons of the N sets of identification data with N sets of storedidentification data associated with M different unique patronidentifiers, respectively, wherein M is an integer greater than one; andcalculates M overall confidence values based on the M sets of N partialconfidence values, respectively, each of the M overall confidence valuesindicating a level of confidence that the patron is associated with acorresponding one of the M unique patron identifiers. A selection moduleselects one of the M unique patron identifiers based on the M overallconfidence values. A profile retrieving module, based on the selectedone of the M unique patron identifiers, retrieves stored ordering datathat is associated with the selected one of the M unique patronidentifiers. A control module sets an ordering menu displayed to thepatron based on at least one of the overall confidence value and thestored ordering data.

In further features, the selection module selects the one of the Munique patron identifiers corresponding to a largest one of the Moverall confidence values.

In a feature, a patron profile database management system is disclosed.A confidence calculation module: receives N sets of identification datafor a patron captured using N passive patron identification systems,respectively, wherein N is an integer greater than one; calculates Npartial confidence values based on N comparisons of the N sets ofidentification data with N sets of stored identification data,respectively, associated with a unique patron identifier; and based onthe N partial confidence values, calculates an overall confidence valueindicating a level of confidence that the patron is associated with theunique patron identifier. An updating module, when the overallconfidence value is less than a predetermined value: creates a secondunique patron identifier in a database; and stores the N sets ofidentification data captured in association with the second uniquepatron identifier. When the overall confidence value is greater than thepredetermined value, the updating module selectively updates at leastone of the N sets of stored identification data associated with theunique patron identifier based on at least one of the N sets ofidentification data captured for the patron, respectively.

In further features, when the overall confidence value is greater thanthe predetermined value, the updating module selectively updates storedordering data based on data indicative of an order placed by the patron.

In further features the system further includes: a profile retrievingmodule that, based on the unique patron identifier, retrieves storedordering data that is associated with the unique patron identifier; anda control module that sets ordering information to be output to thepatron based on the overall confidence value and the stored orderingdata and that outputs the ordering information to the patron using anordering terminal.

In further features, the N sets of identification data include at leasttwo of: data indicative of an image of a face of the patron; dataindicative of an image of at least a portion of the patron's vehicle;data indicative of a voice of the patron; and data indicative of aunique identifier of an electronic device that communicates wirelessly.

In further features, the N sets of identification data include dataindicative of an image of a wheel of a portion of the patron's vehicle.

In further features, the N sets of identification data include dataindicative of a side portion of the patron's vehicle.

In further features, the N sets of identification data include dataindicative of a front portion of the patron's vehicle.

In further features, the N sets of identification data include dataindicative of a rear portion of the patron's vehicle.

In further features, the stored ordering data includes data indicativeof at least one previously ordered menu item associated with the uniquepatron identifier.

In further features, the updating module further: receives dataindicative of an order placed by the patron; and stores the dataindicative of the order placed by the patron in association with theunique patron identifier.

In further features, the updating module further: determines a foodpreference of the patron based on the order placed by the patron; andstores data indicative of the food preference of the patron inassociation with the unique patron identifier.

In further features, the control module sets an ordering menu to bedisplayed to the patron on a display of the ordering terminal to apredetermined ordering menu when the overall confidence value is lessthan a predetermined value.

In further features, the control module sets the ordering menu to bedisplayed to the patron to an adjusted ordering menu that is differentthan the predetermined ordering menu when the overall confidence valueis greater than the predetermined value.

In further features, the control module determines locations for menuitems on the adjusted ordering menu based on the stored ordering data.

In further features, the control module changes a visual attribute of atleast one menu item on the adjusted ordering menu, relative to thepredetermined ordering menu, based on the stored ordering data.

In further features, the control module removes at least one menu itemfrom the predetermined ordering menu when the overall confidence valueis greater than the predetermined value.

In further features, the control module determines the at least one menuitem for removal from the predetermined ordering menu based on thestored ordering data.

In further features, the control module sets a language for outputtingthe ordering information to the patron when the overall confidence valueis greater than a predetermined value.

In further features, the control module sets the ordering information toinclude at least one previously ordered menu item associated with theunique patron identifier when the overall confidence value is greaterthan a predetermined value.

In further features, the control module outputs the ordering informationusing at least one of a display and a speaker of the ordering terminal.

In further features, the confidence calculation module calculates theoverall confidence value based on the N partial confidence values and Npredetermined weighting values, respectively.

In further features, the confidence calculation module calculates theoverall confidence value based on the equation:

C=1−Π_(m=1) ^(N)(1−Wm*Cm),

where C is the overall confidence value for the unique patronidentifier, Π denotes use of the product function, m is an integer lessthan or equal to N, Cm is an m-th one of the partial confidence valuescalculated based on an m-th comparison of an m-th one of the N sets ofidentification data and an m-th one of the N sets of storedidentification data, Cm is a value between 0 and 1, and Wm is an m-thpredetermined weighting value between 0 and 1.

In further features, the confidence calculation module further:calculates at least one additional partial confidence value based on atleast one comparison of at least one of the N sets of identificationdata with additional sets of stored identification data, respectively,associated with a general characteristic; based on the at least oneadditional partial confidence value, calculates a second overallconfidence value indicating a second level of confidence that the patronhas the general characteristic; and, based on the second overallconfidence value, selectively sets the ordering information to be outputto the patron further based on the general characteristic.

Further areas of applicability of the present disclosure will becomeapparent from the detailed description, the claims and the drawings. Thedetailed description and specific examples are intended for purposes ofillustration only and are not intended to limit the scope of thedisclosure.

BRIEF DESCRIPTION OF THE DRAWINGS

The present disclosure will become more fully understood from thedetailed description and the accompanying drawings, wherein:

FIG. 1 is a functional block diagram of an example multiple-storeordering system;

FIG. 2 is a functional block diagram of an example ordering terminal;

FIG. 3 is a functional block diagram of an example implementation of anidentification server;

FIG. 4 is a functional block diagram of an example implementation of aconfidence calculation module;

FIG. 5A is an example image of a wheel of a vehicle including an exampleframe of reference;

FIG. 5B is an example image of a portion of a vehicle;

FIG. 6 is a functional block diagram of an example ordering system;

FIG. 7 is a flowchart depicting an example method including controllingordering information output to a patron at an ordering terminal;

FIG. 8 is a functional block diagram of an example implementation of anidentification server;

FIG. 9 is a functional block diagram of an example ordering system;

FIG. 10 is a flowchart depicting an example method including controllingordering information output to a patron at an ordering terminal; and

FIG. 11 is a functional block diagram of an example implementation of anidentification server.

In the drawings, reference numbers may be reused to identify similarand/or identical elements.

DETAILED DESCRIPTION

An example multiple-store ordering system is shown in FIG. 1. A firstrestaurant 100 includes first, second, and third ordering terminals 104,108, and 112, and a local server 116. A second restaurant 120 includes afirst ordering terminal 124, a second ordering terminal 128, and a localserver 132. In various implementations, an ordering terminal may serveas a local server. While the present disclosure will be discussed interms of restaurants, the present disclosure is also applicable to othertypes of businesses, non-profit organizations, governmental entities,and other sellers of goods and/or services.

The ordering terminal(s) communicate with the local server of theirrestaurant. The local servers 116 and 132 also communicate with a remoteserver 136 via the Internet 140. One or more external computing devices,such as operator computing device 144, can communicate with the localservers 116 and 132 via the Internet 140. For example, an externalcomputing device may be used by a manager or owner of multiplerestaurants to configure or communicate with the ordering terminal(s) atdifferent restaurants. The remote server 136 and the operator computingdevice 144 may communicate with the ordering terminals via therespective local servers. While a multiple-store ordering system isshown where each restaurant includes multiple ordering terminals, thepresent disclosure is applicable to a restaurant having one or moreordering terminals.

One type of ordering terminal is a walk-up self-service orderingterminal. Patrons approach a walk-up self-service ordering terminal onfoot or otherwise and interface with (e.g., touch) the walk-upself-service ordering terminal to place an order. Another type ofordering terminal is a drive-up self-service ordering terminal. Patronsapproach a drive-up self-service ordering terminal by vehicle andinterface with (e.g., touch) the drive-up self-service ordering terminalto place an order. Self-service ordering terminals, including walk-upself-service ordering terminals, drive-up self-service orderingterminals, and other types of self-service ordering terminals may bereferred to as kiosks.

Yet another type of ordering terminal is a menu board, such as a digitalmenu board and other types of menu boards. Patrons approach menu boards,for example, on foot or by vehicle. An employee interacts (e.g., speaks)with the patron and places an order for a patron via a separate orderingterminal. Orders placed via an ordering terminal are routed to a kitchenor another food preparation area for preparation of the ordered items.

Referring now to FIG. 2, a functional block diagram of an exampleordering terminal 200 is presented. The ordering terminal 200 includes adisplay 204 and a control module 208. The display 204 may be a touchscreen display or a non-touchscreen display. For example, self-serviceordering terminals (e.g., walk-up and drive-up types) may includetouchscreen displays, and menu boards may include non-touchscreendisplays. Employee operated ordering terminals may be referred to aspoint of sale (POS) terminals and may include touchscreen displays ornon-touch screen displays. As described in detail below, the controlmodule 208 controls what and how information is output (e.g., visuallyand/or audibly) to enhance the ordering experience.

The ordering terminal 200 includes a plurality of passive data capturedevices 212. For example only, the passive data capture devices 212 mayinclude a wireless transceiver 216, a face camera 220, and/or amicrophone 224. The passive data capture devices 212 may additionally oralternatively include one or more vehicle cameras 228, an infrared (IR)transceiver 232, a scent/smell sensor (not shown) and/or one or moreother passive data capture devices. For example, drive-up self-serviceordering terminals and menu boards used in a drive-up setting mayinclude one or more vehicle cameras and/or an IR transceiver. Vehiclecameras and IR transceivers may be omitted in walk-up self-serviceordering terminals, menu boards used in a walk-up ordering setting, andPOS terminals.

Passive data capture devices are devices that capture data before apatron begins to place an order and/or while the patron places an orderthat can help identify the patron. Passive data capture devices capturedata without patrons actively performing specific acts beyond thosenormally inherent to placing an order so that the patrons can beidentified as being associated with stored patron data. By way ofcontrast with passive data capture devices, active data capture devicescapture data based on acts performed by patrons specifically for patronidentification, such as devices for capturing credit card information orpatron account information. Patron account information may be obtained,for example, from the patron using the display 204, via an opticalreader, etc.

The wireless transceiver 216 wirelessly receives signals from electronicdevices near the ordering terminal 200 that are indicative of uniqueidentifiers of the electronic devices, respectively. For example, thewireless transceiver 216 may receive an International Mobile EquipmentIdentity (IMEI), a radio frequency identifier (RFID), a Bluetoothidentifier, and/or another unique identifier from an electronic device.In various implementations, the wireless transceiver 216 may transmitsignals in order to cause, prompt, or solicit electronic devices nearthe wireless transceiver 216 to transmit signals indicative of theirunique identifiers.

The face camera 220 may be located, for example, above the display 204(e.g., centered) to capture facial images of patrons. For a POSterminal, the face camera 220 may face an area where patrons approachthe POS terminal. The microphone 224 generates signals based on soundinput to the microphone 224, such as voice and/or vehicle sound. One ofthe vehicle cameras 228 may be located to capture images including arear portion of vehicles at the ordering terminal 200. Another one ofthe vehicle cameras 228 may be located to capture images including afront portion of vehicles at the ordering terminal 200. One or both ofthese vehicle cameras or one or more other vehicle cameras may be usedto capture images of one or more wheels of vehicles. For example, one ofthe vehicle cameras 228 may be located in an area that vehicles approachthe ordering terminal 200. This vehicle camera may capture images of oneor more wheels of a vehicle as the vehicle approaches the orderingterminal 200 and also capture images of a rear portion of the vehicle.An image of a wheel may include a rim, a tire, one or more lug nuts,associated braking componentry, a wheel well, and/or other components ofa vehicle. Braking componentry may include, for example, a rotor and acaliper where disc brakes are used and may include a drum where drumbrakes are used.

The IR transceiver 232 may transmit an IR signal at painted portions ofvehicles at the ordering terminal 200. The IR transceiver 232 maygenerate signals corresponding to paint formulation based on reflectedIR signals.

The ordering terminal 200 includes one or more patron detection sensors,such as a proximity sensor 236, a motion sensor 240, and/or one or moreother sensors for detecting the presence of a patron. The control module208 detects the presence of a patron based on signals from the one ormore patron detection sensors and/or one or more of the passive datacapture devices 212.

When a patron is detected, and before or while presenting orderinginformation to the patron, the control module 208 capturesidentification data for the patron using the passive data capturedevices 212. For example, the control module 208 may capture a uniqueidentifier of an electronic device of the patron (if available) via thewireless transceiver 216. When multiple electronic devices are near theordering terminal 200, the control module 208 may capture multipleunique identifiers.

The control module 208 may capture one or more images of the face of thepatron via the face camera 220. For example only, the control module maycapture an image of the face of the patron each time a touchscreendisplay is touched in self-service ordering terminals.

The control module 208 may capture audio based on speech of the patronvia the microphone 224. The control module 208 may capture audio basedon audible output of the vehicle via the microphone 224 or anothermicrophone. The control module 208 may capture one or more imagesincluding the patron's vehicle via one or more of the vehicle cameras228. The control module 208 may capture one or more images including oneor more wheels of the patron's vehicle via one or more of the vehiclecameras 228. The control module 208 may capture data indicative of apaint formulation of the patron's vehicle via the IR transceiver 232.The control module 208 may capture the identification data before thepatron begins to place an order so ordering information output to thepatron can be set to enhance the ordering experience.

The control module 208 may process one or more sets of capturedidentification data. For example, the control module 208 may convert acaptured image or a portion of a captured image to a lower resolution.For example only, the control module 208 may convert a captured 32-bitimage or a portion of a captured image into a 16-bit image, an 8-bitimage, a monochrome image, or another type of lower resolution image.The portion of a captured image may include, for example, the patron'sface in a face image, the license plate in a vehicle image, or a rim,tire, and braking componentry in a wheel image. The control module 208may select one or more portions of a captured image, for example, usingedge and/or shape detection. Another example of processing is thecontrol module 208 converting an audio clip taken via the microphone 224into a smaller file. Yet another example of processing is the controlmodule 208 converting a unique identifier of an electronic device into,for example, a hexadecimal value. Processing captured identificationdata may reduce the time necessary to transmit the captured data.

Another example of processing is the control module 208 may stitchtogether multiple images captured including a wheel of the vehicle toobtain a complete image of the braking componentry associated with thatwheel. Portions of the rim, such as spokes, may block portions of thebraking componentry if a single image is used.

Another example of processing is the control module 208 may stitchtogether multiple images captured of a side of the vehicle as thevehicle passes a vehicle camera when approaching the ordering terminal200 to obtain an image including the entire side of the vehicle (e.g.,driver or passenger side). The image of the entire side of the vehicleincluding features of the side of the vehicle (e.g., dings, dents,color, front and/or rear bumper shape, wheel wells, mirrors, etc.) canthen be used for identification.

The ordering terminal 200 may output captured identification data for apatron at the ordering terminal 200 for comparison with storedidentification data. The captured identification data may include one ormore of the following types of data: face data generated based on acaptured facial image of a patron; voice data generated based on acaptured audio clip including speech of the patron; device datagenerated based on a received unique identifier of an electronic device;vehicle data generated based on a captured image of a portion of avehicle of the patron; and wheel data generated based on a capturedimage including a wheel of the vehicle of the patron.

A communication module 244 may transmit the captured identification datato a patron identification server, such as the remote server 136. Thecommunication module 244 may transmit the captured identification databy wire via one or more input/output (I/O) ports 248 or wirelessly viaone or more antennas (not shown).

The ordering terminal 200 may include a speaker 252, a card reader 256,a printer 260, and/or a cash and coin handler 264. The ordering terminal200 may include a radio frequency identifier (RFID) reader, an opticalscanner, and/or one or more other components that are not shown. Thespeaker 252 is be used to output sound to patrons. The card reader 256may read credit cards, patron account cards, etc. The printer 260 mayprint order receipts. The cash and coin handler 264 receives and countscurrency and coins input to the ordering terminal 200. The cash and coinhandler 264 may also dispense currency and coins.

Referring now to FIG. 3, a functional block diagram of an exampleimplementation of the remote server 136 is presented. While the exampleof FIG. 3 is discussed in conjunction with the remote server 136, all orone or more portions of the following may be performed by anotherdevice, such the ordering terminal 200 or a local server at the samestore as the ordering terminal 200. Also, while a particular moduleconfiguration is shown, the modules may be combined or partitioneddifferently.

A computer readable medium 304 includes an identification table 308. Theidentification table 308 includes unique patron identifiers (UPIDs)(e.g., numeric values), such as UPID1, UPID2, etc. The identificationtable 308 also includes identification data that is associated with eachUPID. UPIDs and captured identification data may be added to or updatedin the identification table 308 as patrons place orders using theordering terminal 200 or one or more other ordering terminals, asdiscussed further below.

Each UPID has one or more pieces of associated, previously capturedidentification data. For example, UPID1 may have one or more of thefollowing pieces of identification data stored in associated with it inthe identification table 308: face data generated based on one or morepreviously captured facial images; voice data generated based on apreviously captured audio clip including speech; device data generatedbased on a unique identifier of an electronic device received; vehicledata generated based on one or more previously captured images of avehicle; and wheel data generated based on one or more previouslycaptured images of wheels of a vehicle.

A confidence calculation module 312 calculates an overall confidencevalue for each of the UPIDs based on comparisons of the receivedidentification data for the patron with the identification associatedwith the UPIDs, respectively. For example, the confidence calculationmodule 312 calculates an overall confidence value for UPID1 based on: acomparison of received face data with stored face data associated withUPID1; a comparison of received voice data with stored voice dataassociated with UPID1; a comparison of received device data with storeddevice data associated with UPID1; a comparison of received vehicle datawith stored vehicle data associated with UPID1; and a comparison ofreceived vehicle data with stored vehicle data associated with UPID1.The overall confidence values correspond to a level of confidence thatthe patron at the ordering terminal 200 (for which the receivedidentification was captured) is the same as the patron based upon whichthat UPID was created and the associated identification data was stored.

FIG. 4 includes a functional block diagram of an example implementationof the confidence calculation module 312. A comparison module 332generates the partial confidence values based on comparisons of thereceived identification data for the patron with the identificationassociated with the UPIDs, respectively. The partial confidence valuescalculated for a UPID are used to calculate the overall confidence valuefor the UPID.

A calculation module 336 may calculate the overall confidence value forUPID1 based on the equation:

C1=1−Π_(m=1) ^(N)(1−Wm*Cm),

where Cl is the overall confidence value for the UPID1, Π denotes use ofthe product function, n is an integer equal to the number of comparisonsand different types of identification data, m is an integer, Cm is apartial confidence value between 0 and 1 calculated based on an m-thcomparison of an m-th piece of received identification data and acorresponding piece of stored identification data associated with theUPID1, and Wm is a weighting value indicative of the extent to which them-th comparison affects the overall confidence value C1.

The comparison module 332 may increase Cm as closeness of the m-th pieceof received identification data to the corresponding piece of storedidentification data associated with the UPID1 decreases, and vice versa.As such, the overall confidence value C1 will decrease as the closenessof the m-th piece of received identification data to the correspondingpiece of stored identification data associated with the UPID1 decreases,and vice versa.

The above equation can be expanded and re-written as:

C1=1−[(1−Wf*Cf)*(1Wvo*Cvo)*(1Wd*Cd)*(1Wve*Cve)* (1−Ww*Cw)* . . .*(1−Wn*Cn)],

where Cl is an overall confidence value for UPID1. The calculationmodule 336 calculates an overall confidence value for each UP ID.

Cf is a partial confidence value between 0 and 1 calculated by thecomparison module 332 based on a comparison of received face data withstored face data associated with UPID1, and Wf is a weighting factorassociated with the extent to which the comparison of received face datawith stored face data should affect the overall confidence values. Cvois a partial confidence value between 0 and 1 calculated by thecomparison module 332 based on a comparison of received voice data withstored voice data associated with UPID1, and Wvo is a weighting factorassociated with the extent to which the comparison of received voicedata with stored voice data should affect the overall confidence values.

Cd is a partial confidence value between 0 and 1 calculated by thecomparison module 332 based on a comparison of received device data withstored device data associated with UPID1, and Wd is a weighting factorassociated with the extent to which the comparison of received devicedata with stored device data should affect the overall confidencevalues. Cve is a partial confidence value between 0 and 1 calculated bythe comparison module 332 based on a comparison of vehicle data withstored vehicle data associated with UPID1, and Wve is a weighting factorassociated with the extent to which the comparison of vehicle data withstored vehicle data should affect the overall confidence values. Cw is apartial confidence value between 0 and 1 calculated by the comparisonmodule 332 based on a comparison of received wheel data with storedwheel data associated with UPID1, and Ww is a weighting factorassociated with the extent to which the comparison of received wheeldata with stored wheel data should affect the overall confidence values.

The above equation can be further expanded, as indicated by the ellipsisand inclusion of Cn and Wn. Cn is a partial confidence value between 0and 1 calculated by the comparison module 332 based on a comparison ofanother piece of received identification data with stored identificationdata associated with UPID1, and Wn is a weighting factor associated withthe extent to which that comparison should affect the overall confidencevalues. For example only, the above equation can be expanded to includeweighting values and comparisons of wheel data received for one or moreother wheels with stored wheel data for the other wheels, respectively,and/or comparisons of front and rear of vehicle data with stored frontand rear of vehicle data, respectively.

A weighting module 338 sets the weighting factors. The weighting factorsmay be fixed values or variable values and are values between 0 and 1,inclusive. For example, the weighting factor Wd may be greater than allof the other weighting factors. The weighting factor Wf may be less thanthe weighting factor Wd and greater than all of the other weightingfactors.

If variable, the weighting module 338 may adjust one or more of theweighting factors, for example, based on one or more ambient conditionsand/or based on one or more other parameters. For example, the weightingmodule 338 may decrease the weighting factor Ww, the weighting factorWve, and/or the weighting factor Wf as ambient lighting decreases andvice versa. The ordering terminal 200 may include an ambient lightingsensor (not shown) and provide measurements to the remote server 136. Invarious implementations, ambient lighting at the ordering terminal 200may be determined by an ambient lighting module (not shown) based on thedate, time, and/or weather at the ordering terminal 200.

The weighting module 338 may additionally or alternatively increase theweighting factor Wd and decrease one or more other weighting factorswhen the received identification includes device data generated based ona received unique identifier of an electronic device. For example, theweighting module 338 may set the weighting factor Wd to approximately1.0 and set the other weighting factors to approximately 0 when thereceived identification includes device data generated based on areceived unique identifier of an electronic device.

Based on the identification data received and the stored identificationdata, the confidence calculation module 312 may adjust the overallconfidence value calculation. For example, if the receivedidentification does not include one type of identification data or onetype of identification has not been previously stored for a UPID, thecomparison module 332 may set the partial confidence value for that typeof data to zero. As such, the term in the equation above associated withthat type of data will be set to 1 and, therefore, not affect thecalculation of the overall confidence values. For example only, if thereceived identification data does not include vehicle data, thecomparison module 332 may set the partial confidence value Cv to zero.Additionally or alternatively, if the received identification does notinclude one type of identification data or one type of identificationhas not been previously stored for a UPID, the weighting module 338 mayset the weighting factor for that comparison to zero.

The comparison module 332 calculates the partial confidence values Cf,Cvo, Cd, Cve, Cw, . . . Cn. The comparison module 332 may increase apartial confidence value as closeness of that piece of receivedidentification data to the corresponding piece of stored identificationdata associated with that UPID decreases, and vice versa.

For example, the comparison module 332 may calculate the partialconfidence value Cw for a UPID based on a comparison of an image of awheel or a portion of an image including a wheel with stored wheel data.An example image including a wheel is provided in FIG. 5A.

The comparison module 332 may identify a point of reference in an imageincluding a wheel, such as a valve stem. The point of reference and oneor more other points (e.g., a center of the wheel) may be used toestablish a frame of reference. An example frame of reference has beenadded to the image in FIG. 5A.

The comparison module 332 may calculate the partial confidence value Cwfor a UPID based on a comparison of features in the image of the wheel,relative to the frame of reference, with features in stored wheel data,relative to the same frame of reference in that stored wheel data. Forexample only, features in the image of the wheel may include tire and/orrim damage, markings (e.g., text or logo) on the tire and/or rim,characteristics of center caps/nuts, number of lug nuts, lug nutlocation lug nut rotation, and/or one or more other features that maydistinguish the wheel from other wheels. The comparison module 332 mayidentify features, for example, using shape, edge, or another type offeature detection.

For another example only, the comparison module 332 may calculate thepartial confidence value Cw for a UPID based on a comparison of an imageof a rear end of a vehicle or a portion of an image including a rear endof a vehicle with stored vehicle data. FIG. 5B includes an example imageincluding a rear end of a vehicle.

The comparison module 332 may calculate the partial confidence value Cvwfor a UPID based on a comparison of features in the image including therear end of a vehicle with rear end features in stored vehicle data. Forexample only, features in the image of the rear end of a vehicle mayinclude light placement, manufacturer emblems,dent/scratches/cracks/etc., exhaust placement, license platecharacteristics and associated markings, stickers on the rear end of thevehicle, and other features that may distinguish the rear end of thevehicle from the rear ends of other vehicles. The comparison module 332may identify features, for example, using shape, edge, or another typeof feature detection.

Referring back to FIG. 3, a patron identifier (PID) selection module 320receives the overall confidence values calculated for the UPIDs,respectively. The PID selection module 320 selects one of the UPIDsbased on the overall confidence values. For example, the PID selectionmodule 320 may select the one of the UPIDs for which the highest overallconfidence value was calculated.

A profile retrieving module 324 retrieves a profile including dataassociated with the selected one of the UPIDs (“the selected UPID”) fromone or more profile tables 328, such as a food preference table, a foodallergy table, an order table, and/or one or more other data tables.Each profile table includes the UPIDs, such as UPID1, UPID2, etc. Eachprofile table also includes profile data that is associated with eachUPID. UPIDs and profile data may be added to or updated in the profiletables 328 as patrons place orders using the ordering terminal 200 orone or more other ordering terminals, as discussed further below.

Each UPID has one or more pieces of associated, previously storedprofile data. For example, the food preference table may include one ormore pieces of data indicating food and/or beverage preferencesassociated with UPID1. The allergy table may include one or more piecesof data indicating food and/or beverage allergies associated with UPID1.Food and/or beverage may be entered by a user, for example, via thedisplay or via an external computing device. The order table may includeone or more pieces of data indicating ordering items that werepreviously ordered (“previously ordered items”) associated with UPID1.As discussed further below, ordering information output to the patron(e.g., displayed on the display 204, output via the speaker 252) by theordering terminal 200 may be adjusted based on one or more pieces of theprofile data.

Referring now to FIG. 6, a functional block diagram of an exampleordering system is presented. To quickly summarize the above, theordering terminal 200 captures identification data for a patron detectedat the ordering terminal 200. A local server 340 transmits theidentification data to the remote server 136. The local server 340and/or the ordering terminal 200 may process captured identificationdata before transmission. In various implementations, the orderingterminal 200 may serve as the local server 340.

The remote server 136 calculates the overall confidence values for theUPIDs based on the captured identification data and the storedidentification data associated with the UPIDs, respectively. The remoteserver 136 selects one of the UPIDs based on the overall confidencevalues, such as the one of the UPIDs having the highest confidencevalue.

The remote server 136 retrieves profile data associated with theselected UPID, such as food preferences, previously ordered items,allergies, etc. The remote server 136 transmits the selected UPID, theoverall confidence value calculated for the selected UPID, and theassociated profile data to the local server 340.

Based on the overall confidence value, the local server 340 determineswhich ordering information to display on the display 204 and how theordering information should be displayed. The ordering terminal 200displays ordering information on the display 204 as commanded by thelocal server 340. In the case of self-service ordering terminals andmenu boards, the patron can place an order based on the orderinginformation presented on the display 204. In the case of a POS terminal,the ordering information displayed can aid an employee in obtaining anorder from the patron. While the local server 340 is shown and describedas determining and controlling the ordering information that will beoutput, the ordering terminal 200, the remote server 136, or anotherdevice may determine and control the ordering information that will beoutput by the ordering terminal 200.

A table including example actions that may be taken in the cases ofself-service ordering terminals and menu boards is provided below.

Action Explanation 0 ≤ C < a Take no action. Confidence level is toolow. a < C < b Shuffle the menu choices based upon the Confidence levelis low, but acceptable UPID's prior ordering activity. for a menurearrangement. b < C < c Suggest meal combinations based upon theConfidence level is medium; meal UPID's prior activity. combinations canbe suggested. If this identification is indeed not correct, no harm canbe done through this action. c < C < d Offer discount for repeat UPIDConfidence level is higher. . . . x < C ≤ 1 Welcome patron by name. Veryhigh confidence level - safe to identify this patron by name.

For example, when the overall confidence value is greater than 0 andless than a first predetermined value (a), the local server 340 mayinstruct the ordering terminal 200 to display a predetermined defaultordering menu on the display 204. The predetermined default orderingmenu includes ordering items located in predetermined locations on thedisplay 204, using predetermined font sizes, predetermined colorschemes, etc.

When the overall confidence value is greater than the firstpredetermined value (a) and less than a second predetermined value (b),the local server 340 may instruct the ordering terminal 200 to displayan adjusted ordering menu. The local server 340 may set the adjustedordering menu, for example, such that one or more previously ordereditems (as indicated by the profile data) are highlighted or otherwiseemphasized to ease ordering of those ordering items. Additionally oralternatively, the ordering items may be prioritized such that one ormore previously ordered items are placed in locations having a higherpriority (e.g., top left in countries where reading is performed left toright and top to bottom) on the adjusted ordering menu. Additionally oralternatively, ordering items falling into one or more food/beveragepreferences (as indicated by the profile data) may be highlighted,emphasized, or prioritized relative to other ordering items on theadjusted ordering menu. Additionally or alternatively, ordering itemsfalling into one or more food allergies (as indicated by the profiledata) may be de-emphasized, placed on a second ordering menu, placed inlocations having lower priority, or removed from the adjusted orderingmenu. The second predetermined value (b) is greater than the firstpredetermined value (a).

When the overall confidence value is greater than the secondpredetermined value (b) and less than a third predetermined value (c),the local server 340 may instruct the ordering terminal 200 to alsodisplay the ordering items of one or more previously placed orders (asindicated by the profile data). The patron can then easily order all ora portion of those ordering items. The third predetermined value (c) isgreater than the second predetermined value (b). The ordering items frompreviously placed orders may be weighted such that ordering items frommore recently placed orders are prioritized relative to ordering itemsfrom orders placed further back in time.

When the overall confidence value is greater than the thirdpredetermined value (c) and less than a fourth predetermined value (d),in addition to one or more of the display options described above, thelocal server 340 may instruct the ordering terminal 200 to also indicatea discount or other reward offer to the patron. The fourth predeterminedvalue (d) may be greater than the third predetermined value (c).

When the overall confidence value is greater than a fifth predeterminedvalue (x) and less than or equal to 1, the local server 340 may instructthe ordering terminal 200 to display a name of the patron, which may bestored in the profile data. The name of the patron may be obtained, forexample, during a previous order as input by the patron, based on acredit card payment, based on use of the patron's account, or in anothermanner. However, the name of the patron is not used to select the UPIDor to calculate the confidence vales. The fifth predetermined value (x)is greater than the fourth predetermined value (d). The above is asimple example of how the confidence level and the stored profile datacan be used at the ordering terminal 200 to improve the patron'sexperience. Other options for controlling the ordering informationdisplayed to the patron based on the overall confidence value and/or theprofile data are possible including taking multiple actions.

When the ordering terminal 200 is displaying an ordering menu other thanthe predetermined default ordering menu, the ordering terminal 200 maydisplay a patron selectable option to prompt the ordering terminal 200to display the predetermined default ordering menu. This enables thepatron to use the predetermined default ordering menu if desired, suchas to order an ordering item that has been removed from the orderingmenu based on the profile data or that the patron cannot find on theordering menu.

In the case of a POS terminal, the local server 340 instructs theordering terminal 200 what to display based on the overall confidencevalue. In addition to the display for the employee, a POS terminal mayinclude a display that faces the area where patrons approach the POSterminal. The local server 340 may instruct the ordering terminal 200 todisplay predetermined default information when the overall confidencevalue is low. When the overall confidence value is higher, the localserver 340 may command the ordering terminal 200 to display informationto the employee based on the profile data to aid in conversationalordering. For example, the local server 340 may command the orderingterminal 200 to display a name of the patron and to display aninstruction to ask the patron by name if they would like one or morepreviously ordered items.

The ordering terminal 200 may transmit order data indicative of an orderplaced by the patron to the local server 340, and the local server 340may transmit the order data to the remote server 136. In the case of amenu board, the order may be input by an employee at a differentordering terminal (a POS terminal).

Referring back to FIG. 3, an updating module 350 may update theidentification table 308 and one or more of the profile tables 328 basedon the order data. For example, when the overall confidence valuecalculated for the selected UPID is less than a sixth predeterminedvalue, the updating module 350 may create a new UPID in theidentification table 308 and store the captured identification data inassociation with the new UPID. The updating module 350 may also add thenew UPID to the profile tables 328 and store the order data inassociation with the new UP ID.

When the overall confidence value for the calculated one of the UPIDs isgreater than the sixth predetermined value and less than a seventhpredetermined value, the updating module 350 may add to or modify thecaptured identification stored in association with the selected UPID inthe identification table 308. The addition may include storing types ofcaptured identification data that was previously not stored for theselected UPID. The modification may include, for example, adding thecaptured identification data to stored identification data associatedwith the selected UPID. Additionally or alternatively, the modificationmay include, for example, selectively adjusting stored identificationdata based on the captured identification data to improve the likelihoodof association of the patron with the selected UPID in the future. Theupdating module 350 may also store the order data in association withthe selected UPID.

When the overall confidence value is greater than the sixthpredetermined value and order data from one or more previous orders isstored for the selected one of the UPIDs, the updating module 350 mayalso determine one or more food and/or beverage preferences and/orallergies based on the order data and the stored order data. Allergydata may also be provided, for example, by the patron via an orderingterminal or via another computing device. The updating module 350 mayupdate the stored food preference data and/or the stored allergy dataassociated with the selected one of the UPIDs accordingly.

FIG. 7 is a flowchart depicting an example method including controllingordering information output to a patron at an ordering terminal.Referring now to FIG. 7, control may begin with 404 where controldetermines whether a patron is at or approaching the ordering terminal200. Patrons may be detected, for example, using motion, proximity, orother types of sensing. If 404 is true, control continues with 408. If404 is false, control remains at 404.

At 408, identification data for the patron is captured using the passivedata capture devices 212. For example, one or more of the following maybe captured: one or more unique identifiers of an electronic devices;one or more images of the face of the patron; audio based on speech ofthe patron; one or more images of the patron's vehicle; one or moreimages of one or more wheels of the patron's vehicle; and/or dataindicative of a paint formulation of the patron's vehicle.

One or more sets of the captured identification data may be processed at412, for example, to reduce the period necessary for transmission.Overall confidence values for the UPIDs are calculated at 416. Theoverall confidence value for a given one of the UPIDs is calculatedbased on comparisons of the captured identification data with storedidentification data associated with that one of the UPIDs. The overallconfidence value of a given one of the UPIDs may increase as closenessbetween captured identification data and stored identification dataassociated with that UPID increases, and vice versa. Calculation ofpartial and overall confidence values is discussed above.

At 420, one of the UPIDs is selected based on the overall confidencevalues. For example, the one of the UPIDs having the highest confidencevalue may be selected at 420.

The profile data associated with the selected UPID is retrieved from theprofile tables 328 at 424. The profile data may include, for example,one or more previously placed orders associated with the selected UPID,one or more food and/or beverage preferences associated with theselected UPID, one or more food and/or beverage allergies associatedwith the selected UPID, and/or other data associated with the UPIDduring one or more previous orders.

At 428, how to display ordering information to the patron on the display204 of the ordering terminal 200 is determined based at least partiallyon the overall confidence value of the selected UPID. For example, thelocal server 340 may command the ordering terminal 200 to display thepredetermined default ordering menu when the overall confidence value isless than the first predetermined value.

When the overall confidence value is greater than the firstpredetermined value and less than the second predetermined value, thelocal server 340 may command the ordering terminal 200 to display anadjusted ordering menu. The local server 340 may set the adjustedordering menu, for example, such that one or more ordering items thatthe patron has previously ordered are highlighted or otherwiseemphasized to ease ordering of those ordering items. Previously ordereditems are indicated in the profile data. Additionally or alternatively,the ordering items may be prioritized such that one or more previouslyordered items are placed in locations having a higher priority (e.g.,top left in countries where reading is performed left to right and topto bottom) on the adjusted ordering menu. Additionally or alternatively,ordering items falling into one or more food/beverage preferences (asindicated by the profile data) may be highlighted, emphasized, orprioritized relative to other ordering items on the adjusted orderingmenu. Additionally or alternatively, ordering items falling into one ormore food allergies (as indicated by the profile data) may bede-emphasized, placed on a second ordering menu, placed in locationshaving lower priority, or removed from the adjusted ordering menu. Thesecond predetermined value is greater than the first predeterminedvalue.

When the overall confidence value is greater than the secondpredetermined value and less than the third predetermined value, thelocal server 340 may command the ordering terminal 200 to display theordering items of one or more previously placed orders (as indicated bythe profile data). When the overall confidence value is greater than thethird predetermined value and less than the fourth predetermined value,in addition to one or more of the display options described above, thelocal server 340 may instruct the ordering terminal 200 to indicate adiscount offer to the patron. When the overall confidence value isgreater than the fifth predetermined value, the local server 340 maycommand the ordering terminal 200 to display a name of the patron, whichmay be stored in the profile data.

At 432, ordering data is received indicating the items ordered by thepatron. Additional data may also be captured and received, such asadditional face images of the patron captured while the patron orders.For example, the ordering terminal 200 may capture a face image of thepatron each time the patron touches the display 204 of self-serviceordering terminals.

Whether to create a new UPID may be determined at 436. If 436 is true,control continues with 440. If 436 is false, control continues with 444.For example, control may determine to create a new UPID when the overallconfidence value calculated for the selected UPID is less than the sixthpredetermined value. The new UPID is added to the identification table308 and the profile tables 328 at 440. Also at 440, the capturedidentification data and the received order data is stored associationwith the new UPID.

At 444, a determination may be made as to whether to update the selectedone of the UPIDs. If 444 is true, control continues with 448. If 444 isfalse, control may return to 404. For example, the selected one of theUPIDs may be updated at 448 when the overall confidence value calculatedfor the selected one of the UPIDs is greater than the sixthpredetermined value and less than the seventh predetermined value. Theupdating at 448 may include storing types of captured identificationdata that was previously not stored for the selected one of the UPIDs,storing additional pieces of captured identification data in associationwith the selected one of the UPIDs, and/or selectively adjusting storedidentification data based on the captured identification data. This mayimprove the likelihood of association of the patron with the selectedone of the UPIDs in the future.

When the overall confidence value is greater than the sixthpredetermined value and order data from one or more previous orders isstored for the selected one of the UPIDs, the updating module 350 mayalso determine one or more food and/or beverage preferences and/orallergies based on the order data and the stored order data. Control mayreturn to 404 for a next patron. While the determinations of whether tocreate a new UPID and whether to update an existing UPID are discussedas being performed after receipt of the order data, these determinationsand storing of captured identification data may be performed before 432,such as after 420 and before 424.

Referring back to FIG. 3, a monitoring module 380 may be implemented tomonitor the stored identification data. Each time capturedidentification data is stored in association with a UPID, the capturedidentification data may be tagged with a unique order identifier.

The monitoring module 380 may identify UPIDs that include storedidentification data having two or more different order identifiers. Fora UPID that includes stored identification data having two or moredifferent order identifiers, the monitoring module 380 may compare thepieces of stored identification data to determine whether the storedidentification data was captured based on two different patrons. Forexample, the monitoring module 380 may compare a first piece of storedface data for UPID1 having an order identifier with a second piece ofstored face data for UPID1 having a different order identifier. Themonitoring module 380 may perform the comparison for one, multiple, orall pieces of the same type of stored identification data. When thepieces of stored identification data are sufficiently different, themonitoring module 380 may create a new UPID and transfer the storedidentification data associated with one of the order identifiers to thenew UP ID.

Additionally or alternatively, the monitoring module 380 may compare thepieces of stored identification data from different UPIDs with eachother to determine whether the stored identification data from the twodifferent UPIDs was captured based on the same patron. For example, themonitoring module 380 may compare a first piece of stored face dataassociated with UPID1 with a second piece of stored face data associatedwith UPID2. The monitoring module 380 may perform the comparison forone, multiple, or all pieces of the same type of stored identificationdata. If the stored identification data associated with UPID1 issufficiently similar to the stored identification data associated withUPID2, the monitoring module 380 may associate all of the storedidentification data with one of the UPIDs (UPID1 or UPID2) and deletethe other one of the UPIDs. The monitoring module 380 may operate attimes when ordering terminals are operational, at times of low trafficfrom ordering terminals, or at times when ordering terminals arenon-operational.

Referring now to FIG. 8, the identification table 308 may also includeone or more UPIDs created for general characteristics of patrons. Forexample, the identification table 308 may include a UPID created formale patrons, a UPID created for female patrons, a UPID created forlarger patrons, a UPID created for smaller patrons, a UPID created forolder patrons, a UPID created for middle aged patrons, a UPID createdfor younger patrons, and UPIDs created for patrons speaking differentlanguages.

The UPIDs created for general characteristics have associatedpredetermined identification data for identifying patrons satisfyingthat general characteristic. For example, a UPID created for malepatrons may include predetermined face data for recognizing male patronsas being male and predetermined voice data for recognizing male patronsas being male. A UPID created for female patrons may includepredetermined face data for recognizing female patrons as being femaleand predetermined voice data for recognizing female patrons as beingfemale. A UPID created for larger patrons may include predetermined facedata for recognizing larger patrons as being relatively large. A UPIDcreated for smaller patrons may include predetermined face data forrecognizing smaller patrons as being relatively small.

A UPID created for older patrons may include predetermined face data forrecognizing older patrons as being older relative to middle aged andyounger patrons and predetermined voice data for recognizing olderpatrons as being older relative to middle aged and younger patrons. AUPID created for middle-aged patrons may include predetermined face datafor recognizing middle-aged patrons as being middle-aged relative toolder and younger patrons and predetermined voice data for recognizingmiddle-aged patrons as being middle-aged relative to older and youngerpatrons. A UPID created for younger patrons may include predeterminedface data for recognizing younger patrons as being younger relative toolder and middle-aged patrons and predetermined voice data forrecognizing younger patrons as being younger relative to older andmiddle-aged patrons. A UPID created for patrons speaking a specificlanguage may include predetermined voice data for recognizing patronsspeaking that language.

The confidence calculation module 312 calculates the overall confidencevalues for the UPIDs created for general characteristics, respectively,as described above. A characteristic determination module 504 determinesone or more general characteristics of a patron present at the orderingterminal 200 based on the overall confidence values for the UPIDscreated for general characteristics.

For example, the characteristic determination module 504 may determinethat the patron at the ordering terminal 200 is male when the overallconfidence value for the UPID created for male patrons is greater thanan eighth predetermined value. The characteristic determination module504 may determine that the patron at the ordering terminal 200 is femalewhen the overall confidence value for the UPID created for femalepatrons is greater than a ninth predetermined value. The characteristicdetermination module 504 may determine that the patron at the orderingterminal 200 is relatively large when the overall confidence value forthe UPID created for larger patrons is greater than a tenthpredetermined value. The characteristic determination module 504 maydetermine that the patron at the ordering terminal 200 is relativelysmall when the overall confidence value for the UPID created for smallerpatrons is greater than an eleventh predetermined value.

The characteristic determination module 504 may determine that thepatron at the ordering terminal 200 is older when the overall confidencevalue for the UPID created for older patrons is greater than a twelfthpredetermined value. The characteristic determination module 504 maydetermine that the patron at the ordering terminal 200 is middle-agedwhen the overall confidence value for the UPID created for middle-agedpatrons is greater than a thirteenth predetermined value. Thecharacteristic determination module 504 may determine that the patron atthe ordering terminal 200 is younger when the overall confidence valuefor the UPID created for younger patrons is greater than a fourteenthpredetermined value. The characteristic determination module 504 maydetermine that the patron at the ordering terminal 200 speaks a languagewhen the overall confidence value for the UPID created patrons speakingthat language is greater than a fifteenth predetermined value.

Referring now to FIG. 9, another functional block diagram of an exampleordering system is presented. The ordering information displayed to thepatron and/or one or more other characteristics of the ordering terminal200 may be set additionally or alternatively based on one or moregeneral characteristics. For example only, colors displayed, languageused, font size, volume of audio output, brightness, and/or one or moreother parameters of the ordering terminal 200 may be set based on one ormore of the general characteristics.

For example only, when the overall confidence value calculated foryounger patrons is greater than a sixteenth predetermined value, thelocal server 340 may command the ordering terminal 200 to display pastelor brighter colors selected for younger patrons. When the overallconfidence value calculated for younger patrons is greater than aseventeenth predetermined value, the local server 340 may command theordering terminal 200 to display an adjusted ordering menu having foodand beverage choices selected for younger patrons. When the overallconfidence value calculated for middle-aged patrons is greater than aneighteenth predetermined value, the local server 340 may command theordering terminal 200 to display an adjusted ordering menu having foodand beverage choices selected for middle-aged patrons.

When the overall confidence value calculated for older-aged patrons isgreater than a nineteenth predetermined value, the local server 340 maycommand the ordering terminal 200 to display an adjusted ordering menuhaving food and beverage choices selected for older patrons.Additionally or alternatively, when the overall confidence valuecalculated for older-aged patrons is greater than a twentiethpredetermined value, the local server 340 may command the orderingterminal 200 to display ordering items using larger font sizes, toincrease a brightness of the display 204, and/or to increase the volumeof audio output.

When the overall confidence value calculated for larger patrons isgreater than a twenty-first predetermined value, the local server 340may command the ordering terminal 200 to display an adjusted orderingmenu having food and beverage choices selected for larger patrons. Whenthe overall confidence value calculated for smaller patrons is greaterthan a twenty-second predetermined value, the local server 340 maycommand the ordering terminal 200 to display an adjusted ordering menuhaving food and beverage choices selected for smaller patrons.

When the overall confidence value calculated for patrons speaking aspecific language is greater than a twenty-third predetermined value,the local server 340 may command the ordering terminal 200 to outputinformation in that language. The local server 340 may also command theordering terminal 200 to display an adjusted ordering menu selected forpatrons speaking that language or more prominently display orderingoptions in that language.

FIG. 10 is a flowchart depicting another example method includingcontrolling ordering information output to a patron at an orderingterminal. Referring now to FIG. 10, control may begin with 404-424, asdescribed above. Control may continue with 550 where a determination ismade as to whether the patron at the ordering terminal 200 satisfies oneor more of the general characteristics. For example, the characteristicdetermination module 504 may determine that the patron satisfies ageneral characteristic (e.g., male, female, larger, smaller, older,middle-aged, younger, etc.) when the overall confidence value calculatedfor the UPID for that general characteristic is greater than acorresponding predetermined value.

At 554, a determination is made as to whether the overall confidencevalue associated with the selected UPID is greater than the firstpredetermined value. If 554 is true, control continues with 428, whichis discussed above, and control may continue with 432, which is alsodiscussed above. While control is shown and discussed as continuing with432 after 428, control may instead continue with 562, which is discussedfurther below. If 554 is false, control continues with 562.

At 562, a determination is made as to whether the overall confidencevalue(s) associated with the general characteristic(s) of the patron aregreater than corresponding predetermined values. If 562 is true, controlmay continue with 566. If 562 is false, the local server 340 may commandthe ordering terminal 200 to display the predetermined default orderingmenu at 570, and control may continue with 432, which is discussedabove.

At 566, a determination is made as to how to output ordering informationto the patron via the ordering terminal 200 based on the generalcharacteristic(s) of the patron. For example only, colors displayed,language used, font size, volume of audio output, brightness, and/or oneor more other parameters of the ordering terminal 200 may be set basedon one or more of the general characteristics.

For example only, the local server 340 may command the ordering terminal200 to display pastel or brighter colors for younger patrons and/ordisplay an adjusted ordering menu having food and beverage choicesselected for younger patrons. The local server 340 may command theordering terminal 200 to display an adjusted ordering menu having foodand beverage choices selected for middle-aged patrons. The local server340 may command the ordering terminal 200 to display an adjustedordering menu having food and beverage choices selected for olderpatrons. Additionally or alternatively, the local server 340 may commandthe ordering terminal 200 to display ordering items using larger fontsizes, to increase a brightness of the display 204, and/or to output anyaudio in a louder fashion for older patrons. The local server 340 maycommand the ordering terminal 200 to display an adjusted ordering menuhaving food and beverage choices selected for larger patrons. The localserver 340 may command the ordering terminal 200 to display an adjustedordering menu having food and beverage choices selected for smallerpatrons. The local server 340 may command the ordering terminal 200 tooutput ordering information in a language determined for the patronand/or display an adjusted ordering menu having food and beveragechoices selected for patrons speaking that language. By adjusting theordering experience based on one or more general characteristics of thepatron, the ordering experience may be enhanced for first-time patronsfor which associated identification data has not previously beencaptured.

At 574, the identification table 308 and one or more of the profiletables 328 are selectively updated. For example, when the overallconfidence value calculated for the selected UPID is less than a sixthpredetermined value, the updating module 350 may create a new UPID inthe identification table 308 and store the captured identification datain association with the new UPID. The updating module 350 may also addthe new UPID to the profile tables 328 and store the order data inassociation with the new UPID.

When the overall confidence value for the calculated one of the UPIDs isgreater than the sixth predetermined value and less than a seventhpredetermined value, the updating module 350 may add to or modify thecaptured identification stored in association with the selected UPID inthe identification table 308. The addition may include storing types ofcaptured identification data that was previously not stored for theselected UPID. The modification may include, for example, adding thecaptured identification data to stored identification data associatedwith the selected UPID. Additionally or alternatively, the modificationmay include, for example, selectively adjusting stored identificationdata based on the captured identification data to improve the likelihoodof association of the patron with the selected UPID in the future. Theupdating module 350 may also store the order data in association withthe selected UPID.

When the overall confidence value is greater than the sixthpredetermined value and order data from one or more previous orders isstored for the selected one of the UPIDs, the updating module 350 mayalso determine one or more food and/or beverage preferences and/orallergies based on the order data and the stored order data. Allergydata may also be provided, for example, by the patron via an orderingterminal. The updating module 350 may update the stored food preferencedata and/or the stored allergy data associated with the selected one ofthe UPIDs accordingly. While 574 is shown, 574 may include functionssimilar to those of 436-448, as discussed above. Also, the updating ofone or more of the profile tables 328 may be done, for example, between420 and 424.

Referring now to FIG. 11, some types of unique identifiers of electronicdevices, such as Bluetooth identifiers, may be transmitted over longerranges. As such, the control module 208 may receive two or more uniqueidentifiers of electronic devices when a patron is detected at theordering terminal 200. These electronic devices may be the patron's orothers in the patron's group. However, these electronic devices may alsobe of other patrons, employees, and others.

The control module 208 may therefore generate the identification data toinclude multiple unique identifiers of multiple electronic devices, andmultiple unique identifiers may be stored in the identification table308 in association with a UPID. If multiple of the same type of uniqueidentifiers are received, the one unique identifier having a highestsignal strength may be used.

For example, in the example of FIG. 11, three different uniqueidentifiers (device data 1, device data 2, and device data 3) associatedwith three different electronic devices, respectively, are stored withUPID1. This is illustrated by 604. Each of the stored unique identifiersmay have an associated weighting value. For example, device data 1 isassociated with weight 1, device data 2 is associated with weight 2, anddevice data 3 is associated with weight 3. The weighting values mayinitially be set to a predetermined value when a new unique identifierof an electronic device is stored in association with a UPID. However,the monitoring module 380 may adjust one or more of the weightingvalues, for example, as discussed further below.

For the situation where a UPID includes multiple pieces of device dataand/or the identification data includes multiple unique deviceidentifiers, confidence calculation module 312 may compare each uniquedevice identifier included in the identification data with each piece ofdevice data stored for a UPID to determine the final confidence valuefor that UPID. For example, the (1−Wd*Cd) portion of the above equationmay be expanded to:

(1−Wd*Wd ₁ *Cd _(1,1))* . . . *(1−Wd*Wd _(Q) *Cd _(Q,R)),

where Wd is the weighting factor associated with the extent to which thecomparison of received device data with stored device data should affectthe overall confidence values, Wd₁ is a weighting factor associated witha first piece of stored device data for a UP ID, Cd_(1,1) is a partialconfidence value between 0 and 1 calculated by the comparison module 332based on a comparison of the first piece of stored device data for theUPID with a first piece of device data included in the identificationdata. Q is an integer greater than or equal to 1 that is equal to thenumber of pieces of stored device data for the UPID, and R is an integergreater than or equal to 1 that is equal to the number of pieces ofdevice data included in the identification data. Wd_(Q) is a weightingfactor associated with a Q-th piece of stored device data for the UPID,Cd_(Q,R) is a partial confidence value between 0 and 1 calculated by thecomparison module 332 based on a comparison of the Q-th piece of storeddevice data for the UPID with an R-th piece of device data included inthe identification data.

The above equation can therefore be re-written as:

C1=1−[(1−Wf*Cf)*(1−Wvo*Cvo)*(1−Wd*Wd ₁ *Cd _(1,1))* . . . *(1−Wd*Wd_(Q)*Cd _(Q,R))*(1−Wve*Cve)*(1−Ww*Cw)* . . . *(1−Wn*Cn)].

The monitoring module 380 may selectively adjust the weighting factorsassociated with stored device data. For example, when a (one) electronicdevice identifier is associated with more than a predetermined number ofdifferent UPIDs, the monitoring module 380 may decrease (including tozero) the weighting factors associated with that electronic deviceidentifier in one, multiple, or all of the UPIDs. This may be the case,for example, for the electronic device identifier of an employee.

When an electronic device identifier associated with a UPID is notincluded with multiple electronic devices in the identification data,the monitoring module 380 may decrease the weighting factor associatedwith that electronic device identifier in the UPID. This may be thecase, for example, when an electronic device is near the orderingterminal 200 during an earlier visit of a patron but not near theordering terminal 200 when the patron later visits. Conversely, when anelectronic device identifier associated with a UPID is included withmultiple electronic devices in the identification data, the monitoringmodule 380 may increase the weighting factor associated with thatelectronic device identifier in the UPID. While the above examples ofadjusting the weighting factors have been provided, the monitoringmodule 380 may additionally or alternatively adjust the weightingfactors associated with stored device data in other ways and/or forother reasons.

The foregoing description is merely illustrative in nature and is in noway intended to limit the disclosure, its application, or uses. Thebroad teachings of the disclosure can be implemented in a variety offorms. Therefore, while this disclosure includes particular examples,the true scope of the disclosure should not be so limited since othermodifications will become apparent upon a study of the drawings, thespecification, and the following claims. As used herein, the phrase atleast one of A, B, and C should be construed to mean a logical (A or Bor C), using a non-exclusive logical OR. It should be understood thatone or more steps within a method may be executed in different order (orconcurrently) without altering the principles of the present disclosure.

In this application, including the definitions below, the term modulemay be replaced with the term circuit. The term module may refer to, bepart of, or include an Application Specific Integrated Circuit (ASIC); adigital, analog, or mixed analog/digital discrete circuit; a digital,analog, or mixed analog/digital integrated circuit; a combinationallogic circuit; a field programmable gate array (FPGA); a processor(shared, dedicated, or group) that executes code; memory (shared,dedicated, or group) that stores code executed by a processor; othersuitable hardware components that provide the described functionality;or a combination of some or all of the above, such as in asystem-on-chip.

The term code, as used above, may include software, firmware, and/ormicrocode, and may refer to programs, routines, functions, classes,and/or objects. The term shared processor encompasses a single processorthat executes some or all code from multiple modules. The term groupprocessor encompasses a processor that, in combination with additionalprocessors, executes some or all code from one or more modules. The termshared memory encompasses a single memory that stores some or all codefrom multiple modules. The term group memory encompasses a memory that,in combination with additional memories, stores some or all code fromone or more modules. The term memory may be a subset of the termcomputer-readable medium. The term computer-readable medium does notencompass transitory electrical and electromagnetic signals propagatingthrough a medium, and may therefore be considered tangible andnon-transitory. Non-limiting examples of a non-transitory tangiblecomputer readable medium include nonvolatile memory, volatile memory,magnetic storage, and optical storage.

The apparatuses and methods described in this application may bepartially or fully implemented by one or more computer programs executedby one or more processors. The computer programs includeprocessor-executable instructions that are stored on at least onenon-transitory tangible computer readable medium. The computer programsmay also include and/or rely on stored data.

What is claimed is:
 1. A method of controlling a patron profiledatabase, the method comprising: in response to detection of a patron,receiving N sets of identification data for the patron captured by Npassive data capture devices, respectively, wherein N is an integergreater than one, and wherein the N passive data capture devices includeat least two of a wireless transceiver, a first camera arranged tocapture images of faces of patrons, a microphone, a scent sensor, aninfrared transceiver, a second camera arranged to capture images ofwheels of vehicles, and at least one of a third camera arranged tocapture images of front portions of vehicles, and a fourth cameraarranged to capture images of rear portions of vehicles; by a server,calculating overall confidence values for a plurality of unique patronidentifiers, respectively, the calculating the overall confidence valuesincluding, for each unique patron identifier of the plurality of uniquepatron identifiers: by the server, calculating N partial confidencevalues for that unique patron identifier based on N comparisons of the Nsets of identification data with N sets of stored identification data,respectively, associated with that unique patron identifier; by theserver, based on the N partial confidence values of that unique patronidentifier and N weighting values, respectively, calculating the overallconfidence value for that unique patron identifier, the overallconfidence value for that unique patron identifier indicating a level ofconfidence that the patron is associated with that unique patronidentifier; by the server, selecting one unique patron identifier of theplurality of unique patron identifiers having the highest one of theoverall confidence values; by the server, when the overall confidencevalue of the selected one unique patron identifier is less than apredetermined value: creating a new unique patron identifier in adatabase; and storing the N sets of identification data captured usingthe N passive data capture devices, respectively, in association withthe new unique patron identifier; and by the server, when the overallconfidence value of the selected one unique patron identifier is greaterthan the predetermined value, selectively updating at least one of the Nsets of stored identification data associated with the selected oneunique patron identifier based on at least one of the N sets ofidentification data captured using the N passive data capture devices,respectively.
 2. The method of claim 1 further comprising, when theoverall confidence value is greater than the predetermined value,selectively updating stored ordering data based on data indicative of anorder placed by the patron.
 3. The method of claim 1 further comprising:based on the selected one unique patron identifier, retrieving storedordering data that is associated with the selected one unique patronidentifier; setting ordering information to be output to the patronbased on the overall confidence value and the stored ordering data; andoutputting the ordering information to the patron using an orderingterminal.
 4. The method of claim 3 wherein the N sets of identificationdata include at least two of: data indicative of an image of a face ofthe patron; data indicative of an image of at least a portion of thepatron's vehicle; data indicative of a voice of the patron; and dataindicative of a unique identifier of an electronic device thatcommunicates wirelessly.
 5. The method of claim 3 wherein the N sets ofidentification data include data indicative of an image of a wheel of aportion of the patron's vehicle.
 6. The method of claim 3 wherein the Nsets of identification data include data indicative of at least one of aside portion of the patron's vehicle, a front portion of the patron'svehicle, and a rear portion of the patron's vehicle.
 7. The method ofclaim 3 wherein the stored ordering data includes data indicative of atleast one previously ordered menu item associated with the selected oneunique patron identifier.
 8. The method of claim 3 further comprising:receiving data indicative of an order placed by the patron; and storingthe data indicative of the order placed by the patron in associationwith the selected one unique patron identifier.
 9. The method of claim 8further comprising: determining a food preference of the patron based onthe order placed by the patron; and storing data indicative of the foodpreference of the patron in association with the selected one uniquepatron identifier.
 10. The method of claim 3 wherein setting theordering information to be output to the patron includes setting anordering menu to be displayed to the patron on a display of the orderingterminal to a predetermined ordering menu when the overall confidencevalue of the selected one unique patron identifier is less than a secondpredetermined value.
 11. The method of claim 10 wherein setting theordering information to be output to the patron includes setting theordering menu to be displayed to the patron to an adjusted ordering menuthat is different than the predetermined ordering menu when the overallconfidence value of the selected one unique patron identifier is greaterthan the second predetermined value.
 12. The method of claim 11 furthercomprising determining locations for menu items on the adjusted orderingmenu based on the stored ordering data.
 13. The method of claim 11further comprising changing a visual attribute of at least one menu itemon the adjusted ordering menu, relative to the predetermined orderingmenu, based on the stored ordering data.
 14. The method of claim 10wherein setting the ordering information to be output to the patronincludes removing at least one menu item from the predetermined orderingmenu when the overall confidence value of the selected one unique patronidentifier is greater than the second predetermined value.
 15. Themethod of claim 14 further comprising determining the at least one menuitem for removal from the predetermined ordering menu based on thestored ordering data.
 16. The method of claim 3 wherein setting theordering information to be output to the patron includes setting alanguage for outputting the ordering information to the patron when theoverall confidence value of the selected one unique patron identifier isgreater than a predetermined value.
 17. The method of claim 3 whereinsetting the ordering information to be output to the patron includessetting the ordering information to include at least one previouslyordered menu item associated with the selected one unique patronidentifier when the overall confidence value of the selected one uniquepatron identifier is greater than a second predetermined value.
 18. Themethod of claim 3 wherein outputting the ordering information to thepatron using the ordering terminal includes outputting the orderinginformation using at least one of a display and a speaker of theordering terminal.
 19. The method of claim 1 wherein the calculating theoverall confidence values includes, for each unique patron identifier ofthe plurality of unique patron identifiers: calculating the overallconfidence value of that unique patron identifier based on the equation:C=1−Π_(m=1) ^(N)(1−Wm*cm), where C is the overall confidence value forthat unique patron identifier, Π denotes use of the product function, mis an integer less than or equal to N, Cm is an m-th one of the partialconfidence values calculated based on an m-th comparison of an m-th oneof the N sets of identification data and an m-th one of the N sets ofstored identification data, Cm is a value between 0 and 1, and Wm is anm-th predetermined weighting value between 0 and
 1. 20. The method ofclaim 1 further comprising: calculating at least one additional partialconfidence value based on at least one comparison of at least one of theN sets of identification data with additional sets of storedidentification data, respectively, associated with a generalcharacteristic; based on the at least one additional partial confidencevalue, calculating a second overall confidence value indicating a secondlevel of confidence that the patron has the general characteristic; and,based on the second overall confidence value, selectively settingordering information to be output to the patron further based on thegeneral characteristic.
 21. An ordering system comprising: N passivedata capture devices that, in response to detection of a patron, captureN sets of identification data for the patron, respectively, wherein N isan integer greater than one, and wherein the N passive data capturedevices include at least two of a wireless transceiver, a first cameraarranged to capture images of faces of patrons, a microphone, a scentsensor, an infrared transceiver, a second camera arranged to captureimages of wheels of vehicles, and at least one of a third cameraarranged to capture images of front portions of vehicles, and a fourthcamera arranged to capture images of rear portions of vehicles; aconfidence calculation module that calculates overall confidence valuesfor a plurality of unique patron identifiers, respectively, thecalculation of the overall confidence values including, for each uniquepatron identifier of the plurality of unique patron identifiers:calculating N partial confidence values for that unique patronidentifier based on N comparisons of the N sets of identification datawith N sets of stored identification data, respectively, associated withthat unique patron identifier; and based on the N partial confidencevalues of that unique patron identifier and N weighting values,respectively, calculating the overall confidence value for that uniquepatron identifier, the overall confidence value for that unique patronidentifier indicating a level of confidence that the patron isassociated with that unique patron identifier; a selection module thatselects one unique patron identifier of the plurality of unique patronidentifiers having the highest one of the overall confidence values; acontrol module that: when the overall confidence value of the selectedone unique patron identifier is less than a predetermined value:creating a new unique patron identifier in a database; and storing the Nsets of identification data captured using the N passive data capturedevices, respectively, in association with the new unique patronidentifier; and when the overall confidence value of the selected oneunique patron identifier is greater than the predetermined value,selectively updates at least one of the N sets of stored identificationdata associated with the selected one unique patron identifier based onat least one of the N sets of identification data captured using the Npassive data capture devices, respectively.
 22. The ordering system ofclaim 21 wherein, when the overall confidence value is greater than thepredetermined value, the control module selectively updates storedordering data based on data indicative of an order placed by the patron.23. The ordering system of claim 21 further comprising: a profileretrieval module that, based on the selected one unique patronidentifier, retrieves stored ordering data that is associated with theselected one unique patron identifier, wherein the control module setsordering information to be output to the patron based on the overallconfidence value and the stored ordering data; and wherein the controlmodule outputs the ordering information to the patron using an orderingterminal.
 24. The ordering system of claim 23 wherein the N sets ofidentification data include at least two of: data indicative of an imageof a face of the patron; data indicative of an image of at least aportion of the patron's vehicle; data indicative of a voice of thepatron; and data indicative of a unique identifier of an electronicdevice that communicates wirelessly.
 25. The ordering system of claim 23wherein the N sets of identification data include data indicative of animage of a wheel of a portion of the patron's vehicle.
 26. The orderingsystem of claim 23 wherein the N sets of identification data includedata indicative of at least one of a side portion of the patron'svehicle, a front portion of the patron's vehicle, and a rear portion ofthe patron's vehicle.
 27. The ordering system of claim 23 wherein thestored ordering data includes data indicative of at least one previouslyordered menu item associated with the selected one unique patronidentifier.
 28. The ordering system of claim 23 further comprising anupdating module that: receives data indicative of an order placed by thepatron; and stores the data indicative of the order placed by the patronin association with the selected one unique patron identifier.
 29. Theordering system of claim 28 wherein the updating module further:determines a food preference of the patron based on the order placed bythe patron; and stores data indicative of the food preference of thepatron in association with the selected one unique patron identifier.30. The ordering system of claim 23 wherein the control module sets anordering menu to be displayed to the patron on a display of the orderingterminal to a predetermined ordering menu when the overall confidencevalue of the selected one unique patron identifier is less than a secondpredetermined value.
 31. The ordering system of claim 30 wherein thecontrol module sets the ordering menu to be displayed to the patron toan adjusted ordering menu that is different than the predeterminedordering menu when the overall confidence value of the selected oneunique patron identifier is greater than the second predetermined value.32. The ordering system of claim 31 wherein the control moduledetermines locations for menu items on the adjusted ordering menu basedon the stored ordering data.
 33. The ordering system of claim 31 whereinthe control module changes a visual attribute of at least one menu itemon the adjusted ordering menu, relative to the predetermined orderingmenu, based on the stored ordering data.
 34. The ordering system ofclaim 30 wherein the control module removes at least one menu item fromthe predetermined ordering menu when the overall confidence value of theselected one unique patron identifier is greater than the secondpredetermined value.
 35. The ordering system of claim 34 wherein thecontrol module determines the at least one menu item for removal fromthe predetermined ordering menu based on the stored ordering data. 36.The ordering system of claim 23 wherein the control module sets alanguage for outputting the ordering information to the patron when theoverall confidence value of the selected one unique patron identifier isgreater than a predetermined value.
 37. The ordering system of claim 23wherein the control module sets the ordering information to include atleast one previously ordered menu item associated with the selected oneunique patron identifier when the overall confidence value of theselected one unique patron identifier is greater than a secondpredetermined value.
 38. The ordering system of claim 23 wherein thecontrol module outputs the ordering information using at least one of adisplay and a speaker of the ordering terminal.
 39. The ordering systemof claim 21 wherein, for each unique patron identifier of the pluralityof unique patron identifiers, the confidence calculation modulecalculates the overall confidence value for that unique patronidentifier based on the equation:C=1−Π_(m=1) ^(N)(1−Wm*Cm), where C is the overall confidence value forthat unique patron identifier, Π denotes use of the product function, mis an integer less than or equal to N, Cm is an m-th one of the partialconfidence values calculated based on an m-th comparison of an m-th oneof the N sets of identification data and an m-th one of the N sets ofstored identification data, Cm is a value between 0 and 1, and Wm is anm-th predetermined weighting value between 0 and
 1. 40. The orderingsystem of claim 21 wherein the confidence calculation module further:calculates at least one additional partial confidence value based on atleast one comparison of at least one of the N sets of identificationdata with additional sets of stored identification data, respectively,associated with a general characteristic; based on the at least oneadditional partial confidence value, calculates a second overallconfidence value indicating a second level of confidence that the patronhas the general characteristic; and, based on the second overallconfidence value, selectively sets ordering information to be output tothe patron further based on the general characteristic.